Serveur d'exploration sur l'opéra

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

Reflection without Remorse: Revealing a hidden sequence to speed up monadic reflection

Identifieur interne : 000284 ( Main/Exploration ); précédent : 000283; suivant : 000285

Reflection without Remorse: Revealing a hidden sequence to speed up monadic reflection

Auteurs : Atze Van Der Ploeg [Pays-Bas] ; Oleg Kiselyov [Japon]

Source :

RBID : Hal:hal-01110936

English descriptors

Abstract

A series of list appends or monadic binds for many monads per-forms algorithmically worse when left-associated. Continuation-passing style (CPS) is well-known to cure this severe dependenceof performance on the association pattern. The advantage of CPSdwindles or disappears if we have to examine or modify the inter-mediate result of a series of appends or binds, before continuingthe series. Such examination is frequently needed, for example, tocontrol search in non-determinism monads.We present an alternative approach that is just as general as CPSbut more robust: it makes series of binds and other such opera-tions efficient regardless of the association pattern – and also pro-vides efficient access to intermediate results. The key is to representsuch a conceptual sequence as an efficient sequence data structure.Efficient sequence data structures from the literature are homoge-neous and cannot be applied as they are in a type-safe way to seriesof monadic binds. We generalize them totype aligned sequencesand show how to construct their (assuredly order-preserving) im-plementations. We demonstrate that our solution solves previouslyundocumented, severe performance problems in iteratees, LogicTtransformers, free monads and extensible effects

Url:


Affiliations:


Links toward previous steps (curation, corpus...)


Le document en format XML

<record>
<TEI>
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">Reflection without Remorse: Revealing a hidden sequence to speed up monadic reflection</title>
<author>
<name sortKey="Van Der Ploeg, Atze" sort="Van Der Ploeg, Atze" uniqKey="Van Der Ploeg A" first="Atze" last="Van Der Ploeg">Atze Van Der Ploeg</name>
<affiliation wicri:level="1">
<hal:affiliation type="institution" xml:id="struct-300172" status="VALID">
<orgName>CWI</orgName>
<desc>
<address>
<country key="NL"></country>
</address>
</desc>
</hal:affiliation>
<country>Pays-Bas</country>
</affiliation>
</author>
<author>
<name sortKey="Kiselyov, Oleg" sort="Kiselyov, Oleg" uniqKey="Kiselyov O" first="Oleg" last="Kiselyov">Oleg Kiselyov</name>
<affiliation wicri:level="1">
<hal:affiliation type="institution" xml:id="struct-411278" status="INCOMING">
<orgName>University of Tsukuba</orgName>
<desc>
<address>
<country key="JP"></country>
</address>
</desc>
</hal:affiliation>
<country>Japon</country>
</affiliation>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">HAL</idno>
<idno type="RBID">Hal:hal-01110936</idno>
<idno type="halId">hal-01110936</idno>
<idno type="halUri">https://hal.inria.fr/hal-01110936</idno>
<idno type="url">https://hal.inria.fr/hal-01110936</idno>
<date when="2014-09-01">2014-09-01</date>
<idno type="wicri:Area/Hal/Corpus">000222</idno>
<idno type="wicri:Area/Hal/Curation">000222</idno>
<idno type="wicri:Area/Hal/Checkpoint">000073</idno>
<idno type="wicri:Area/Main/Merge">000284</idno>
<idno type="wicri:Area/Main/Curation">000284</idno>
<idno type="wicri:Area/Main/Exploration">000284</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title xml:lang="en">Reflection without Remorse: Revealing a hidden sequence to speed up monadic reflection</title>
<author>
<name sortKey="Van Der Ploeg, Atze" sort="Van Der Ploeg, Atze" uniqKey="Van Der Ploeg A" first="Atze" last="Van Der Ploeg">Atze Van Der Ploeg</name>
<affiliation wicri:level="1">
<hal:affiliation type="institution" xml:id="struct-300172" status="VALID">
<orgName>CWI</orgName>
<desc>
<address>
<country key="NL"></country>
</address>
</desc>
</hal:affiliation>
<country>Pays-Bas</country>
</affiliation>
</author>
<author>
<name sortKey="Kiselyov, Oleg" sort="Kiselyov, Oleg" uniqKey="Kiselyov O" first="Oleg" last="Kiselyov">Oleg Kiselyov</name>
<affiliation wicri:level="1">
<hal:affiliation type="institution" xml:id="struct-411278" status="INCOMING">
<orgName>University of Tsukuba</orgName>
<desc>
<address>
<country key="JP"></country>
</address>
</desc>
</hal:affiliation>
<country>Japon</country>
</affiliation>
</author>
</analytic>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<textClass>
<keywords scheme="mix" xml:lang="en">
<term>data structures</term>
<term>monads</term>
<term>performance</term>
<term>reflection</term>
</keywords>
</textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">A series of list appends or monadic binds for many monads per-forms algorithmically worse when left-associated. Continuation-passing style (CPS) is well-known to cure this severe dependenceof performance on the association pattern. The advantage of CPSdwindles or disappears if we have to examine or modify the inter-mediate result of a series of appends or binds, before continuingthe series. Such examination is frequently needed, for example, tocontrol search in non-determinism monads.We present an alternative approach that is just as general as CPSbut more robust: it makes series of binds and other such opera-tions efficient regardless of the association pattern – and also pro-vides efficient access to intermediate results. The key is to representsuch a conceptual sequence as an efficient sequence data structure.Efficient sequence data structures from the literature are homoge-neous and cannot be applied as they are in a type-safe way to seriesof monadic binds. We generalize them totype aligned sequencesand show how to construct their (assuredly order-preserving) im-plementations. We demonstrate that our solution solves previouslyundocumented, severe performance problems in iteratees, LogicTtransformers, free monads and extensible effects</div>
</front>
</TEI>
<affiliations>
<list>
<country>
<li>Japon</li>
<li>Pays-Bas</li>
</country>
</list>
<tree>
<country name="Pays-Bas">
<noRegion>
<name sortKey="Van Der Ploeg, Atze" sort="Van Der Ploeg, Atze" uniqKey="Van Der Ploeg A" first="Atze" last="Van Der Ploeg">Atze Van Der Ploeg</name>
</noRegion>
</country>
<country name="Japon">
<noRegion>
<name sortKey="Kiselyov, Oleg" sort="Kiselyov, Oleg" uniqKey="Kiselyov O" first="Oleg" last="Kiselyov">Oleg Kiselyov</name>
</noRegion>
</country>
</tree>
</affiliations>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Wicri/Musique/explor/OperaV1/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000284 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 000284 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Wicri/Musique
   |area=    OperaV1
   |flux=    Main
   |étape=   Exploration
   |type=    RBID
   |clé=     Hal:hal-01110936
   |texte=   Reflection without Remorse: Revealing a hidden sequence to speed up monadic reflection
}}

Wicri

This area was generated with Dilib version V0.6.21.
Data generation: Thu Apr 14 14:59:05 2016. Site generation: Thu Jan 4 23:09:23 2024